package com.cskaoyan.javase.basic._0datatype;

/**
 * 数据类型
 * 数据被存储后，是需要被使用的（从数据的使用角度理解）
 * 数据类型， 表示的是一组数据的集合，和基于该数据集合的一组合法操作。
 * 也就是说，数据类型不仅表示一组数据的集合，更重要的是它还限制了这组数据能够执行的操作。
 * 比如:
 * int类型,它表示整数,它的取值范围是固定范围内的整数,还限制了这些整数的操作,比如可以做
 * "+-/*"但是没有"求长度,求重量"等操作
 * String类型,它表示字符串类型,Java中所有的字符串都是该类型,还限制了这些字符串的操作
 * 比如可以做"+",但是没有"- * /" 还可以做"求长度"
 * 数据类型 = 数据 + 操作
 *
 * 基本数据类型的总结:
 * (新角度)
 * 把基本数据类型分为两大类
 *      1.数值类型,包含全部整型,浮点型,以及字符型
 *      2.非数值类型,只有布尔类型,boolean
 *
 * @since 14:51
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        String str1 = "123";
        String str2 = "123";
        // "+"表示字符串拼接
        String result = str1 + str2;
        System.out.println(result);

        // 浮点数的优点
        // Integer number too large
        // int num = 10000000000;
        long num = 10000000000L;
        // Long number too large
        // long num2 = 10000000000000000000000L;
        // e指的是乘以10的多少次方
        double num3 = 10e30;
        float num4 = 123456789;
        System.out.println(num4);
        // 字符型 实际上是存储了该字符的编码值,是一个正整数(以及0)
        char c = 'a';
        System.out.println(c);
        // char类型参与运算,是该字符的编码值参与运算,"a"的编码值是97
        System.out.println(c + 10);

        char c2 = 97;
        System.out.println(c2);
    }
}
